<%-- 
    Document   : createNew
    Created on : Apr 13, 2009, 3:57:42 PM
    Author     : v-lascha
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<script language="javascript">

        function validateFormOnSubmit(theForm) {
            var reason = "";
            reason += validateUsername(theForm.uname);
            reason += validatePassword(theForm.password);
            reason += validateEmpty(theForm.fname);
            reason += validateEmpty(theForm.lname);
            reason += validateEmpty(theForm.address);


            if (reason != "") {
                alert("Some fields need correction:\n" + reason);
                return false;
            }

            return true;
        }

        function validateEmpty(fld) {
            var error = "";
            if (fld.value.length == 0) {
                fld.style.background = 'Yellow';
                error = "The required field has not been filled in.\n"
            } else {
                fld.style.background = 'White';
            }
            return error;
        }

        function validateEmail(fld) {
            var error="";
            var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
            var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
            var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

            if (fld.value == "") {
                fld.style.background = 'Yellow';
                error = "You didn't enter an email address.\n";
            } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
                fld.style.background = 'Yellow';
                error = "Please enter a valid email address.\n";
            } else if (fld.value.match(illegalChars)) {
                fld.style.background = 'Yellow';
                error = "The email address contains illegal characters.\n";
            } else {
                fld.style.background = 'White';
            }
            return error;
        }

        function validatePassword(fld) {
            var error = "";
            //var illegalChars = /[\W_]/; // allow only letters and numbers

            if (fld.value == "") {
                fld.style.background = 'Yellow';
                error = "You didn't enter a password.\n";
            } else if ((fld.value.length < 7) || (fld.value.length > 15)) {
                error = "The password is the wrong length. \n";
                fld.style.background = 'Yellow';
           // } else if (illegalChars.test(fld.value)) {
              //  error = "The password contains illegal characters.\n";
              //  fld.style.background = 'Yellow';
            } else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
                error = "The password must contain at least one numeral.\n";
                fld.style.background = 'Yellow';
            } else {
                fld.style.background = 'White';
            }
            return error;
        }

        function validateUsername(fld) {
            var error = "";
            var illegalChars = /\W/; // allow letters, numbers, and underscores

            if (fld.value == "") {
                fld.style.background = 'Yellow';
                error = "You didn't enter a username.\n";
            } else if ((fld.value.length < 3) || (fld.value.length > 15)) {
                fld.style.background = 'Yellow';
                error = "The username is the wrong length.\n";
            } else if (illegalChars.test(fld.value)) {
                fld.style.background = 'Yellow';
                error = "The username contains illegal characters.\n";
            } else {
                fld.style.background = 'White';
            }
            return error;
        }

    </script>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Create New Account</title>
    </head>
    <body bgcolor="#DFDFEA">
        <form onsubmit="return validateFormOnSubmit(this)" action="saveUser.htm" method="post">
            <table border="1">
                <thead>
                    <tr>
                        <th></th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>User Name</td>
                        <td><input type="text" name="uname" value="" /></td>
                    </tr>
                    <tr>
                        <td>First Name</td>
                        <td><input type="text" name="fname" value="" /></td>
                    </tr>
                    <tr>
                        <td>Last Name</td>
                        <td><input type="text" name="lname" value="" /></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                    </tr>
                    <tr>
                        <td>Address</td>
                        <td><input type="text" name="address" value="" /></td>
                    </tr>
                    <tr>
                        <td>Password</td>
                        <td><input type="password" name="password" value="" /></td>
                    </tr>
                </tbody>
            </table>
            <input type="submit" value="Submit" />
            <input type="reset" value="Reset" />
        </form>    
    </body>
</html>
